home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 126-150 / scopedisk146 / liner / source / globals.h < prev    next >
C/C++ Source or Header  |  1995-03-19  |  7KB  |  260 lines

  1. #include <exec/types.h>
  2. #include <exec/exec.h>
  3. #include <intuition/intuition.h>
  4. #include <intuition/intuitionbase.h>
  5. #include <devices/console.h>
  6. #include <devices/clipboard.h>
  7. #include <libraries/dos.h>
  8. #include <libraries/dosextens.h>
  9. #include <devices/inputevent.h>
  10. #include <devices/keymap.h>
  11. #include <math.h>
  12. #include <workbench/startup.h>
  13.  
  14. #include <proto/exec.h>
  15. #include <proto/intuition.h>
  16.  
  17. struct LineItem               /*'Liner structure definition*/
  18.    {
  19.    struct LineItem *NextItem,*PrevItem;
  20.    UBYTE Level,ItemNumber;
  21.    char Text[80];
  22.    BYTE Highlighted,cont,Future[10];
  23.    };
  24.  
  25. struct Old_LineItem               /*Old (pre V1.5) 'Liner structure definition*/
  26.    {
  27.    struct LineItem *NextItem,*PrevItem;
  28.    UBYTE Level,ItemNumber;
  29.    char Text[80];
  30.    };
  31.  
  32. struct WhichOne 
  33. {
  34.    struct LineItem *Start,*End;
  35. };
  36.  
  37. struct LinerPrefs             /*'Liner preferences structure*/
  38. {
  39.    BYTE  DS,Laced,Icons,Level,Screen;
  40.    UBYTE Color[4][3];
  41.    char  Macro[4][80],Name[4][80];
  42.    char  DefaultDir[150],DefPrintDir[150],DefPattern[150];
  43. };
  44.  
  45. #define WORDROUND(xxx) (((long)xxx+3)>>2)<<2)   /* Round to word boundary */
  46. #define D_S(name, type) char c_##name[sizeof(type)+3]; \
  47.                         type *name = (type *)WORDROUND(c_##name);
  48.  
  49. #define Rp Window->RPort;
  50. #define CSI  0x09b
  51. #define SEMI 0x03b
  52. #define NEWPAGE 0x0c
  53. #define CLOSECHAR 0x05c
  54. #define SCRNHEIGHT RowsInScreen
  55. #define REQUESTERCHARS 57
  56.  
  57. #define UP 0
  58. #define DOWN 1
  59. #define NOINV 0
  60. #define LINE_PENDING 1
  61. #define LINE_FWD 2
  62. #define LINE_BACK 3
  63.  
  64. #define BLOCK_PENDING -1
  65. #define BLOCK_DOWN -2
  66. #define BLOCK_UP -3
  67.  
  68. #define MINMEMORY 20000
  69.  
  70. extern LONG ARexxSigBit;
  71. extern struct IntuitionBase *IntuitionBase;
  72. extern struct GfxBase *GfxBase;
  73. extern ULONG DosBase,IconBase;
  74. extern struct WBStartup *WBenchMsg;
  75.  
  76. extern struct IOStdReq *consoleWriteMsg,*consoleReadMsg;
  77. extern struct Port *consoleWritePort,*consoleReadPort;
  78. extern struct IOClipReq ClipboardIO;
  79. extern struct MsgPort clipboardMsgPort;
  80. extern struct Process *ThisProc;
  81.  
  82. extern struct Screen *Screen;
  83. extern struct Window *Window,*AboutWindow;
  84. extern struct KeyMap keymap;
  85. extern APTR ConsoleDevice;
  86. extern struct LineItem *CharItem,*StartIItem,*EndIItem,*ClipStart,*ClipEnd;
  87. extern int ButtonState,PtrX,PtrY,LastX,LastY,InvsMode,StartChar,EndChar,InvY,EndIY;
  88. extern int BLastX,ClipMode,ErrorInTitle;
  89. extern UBYTE Laced,RowsInScreen,StartingLevel,Modified,Odd;
  90. extern char Indent;
  91. extern char FileName[183],SDirName[150],SFileName[33],SExt[150];
  92. extern char PDName[183],PDirName[150],PFileName[33],PExt[150];
  93. extern BYTE TopInv,BtmInv;
  94.  
  95. extern char ScreenTitle[17];
  96. extern struct LineItem *FirstItem,*LastItem,*CurrentItem,*FirstScrnItem,*ScrnBtm;
  97. extern int CurX,CurY,DispRows;
  98.  
  99. extern struct LinerPrefs prefs;
  100.  
  101. extern UBYTE OLCPos[6][6];
  102. extern UBYTE MaxNumOnLevel[6];
  103.  
  104. /*Some macros*/
  105. #define PERPOS(x) OLCPos[StartingLevel][x]-3
  106. #define MinX(LI)  OLCPos[StartingLevel][(LI->Level)-1]
  107. #define MaxX(LI)  OLCPos[StartingLevel][(LI->Level)-1]+strlen(LI->Text)
  108. #define MaxLen(Level) 79-OLCPos[StartingLevel][Level-1]
  109. #define PosInText(Level) CurX-OLCPos[StartingLevel][Level-1]
  110. #define RealLevel(LI) (LI->Level+StartingLevel > 6) ? (LI->Level+StartingLevel-7) : (LI->Level+StartingLevel)
  111.     /* ^^^ == get level when StartingLevel != 0 */
  112.  
  113.  
  114. /*Function definitions*/
  115.  
  116. /*liner.c functions*/
  117. extern void GetOutlineChars();
  118. extern void RedrawOutlineChars();
  119. extern void AddItem();
  120. extern void WriteConsole();
  121. extern HandleIDCMP();
  122. extern void HandleBS();
  123. extern HandleReturn();
  124. extern void CloseStuff();
  125. extern void Leave();
  126. extern PushIn();
  127. extern Push();
  128. extern PullOutBlock();
  129. extern void JumpToTop();
  130. extern void JumpToBottom();
  131. extern void PrintItemList();
  132. extern void PrintItem();
  133. extern void PlotCursor();
  134. extern CursorUp();
  135. extern CursorDown();
  136. extern void InsertChar();
  137. extern void DeleteChar();
  138. extern struct LineItem *InsertItem();
  139. extern struct LineItem *FindPrev();
  140. extern struct LineItem *FindNext();
  141. extern void InsertLineAtTop();
  142. extern WholeScreenDown();
  143. extern WholeScreenUp();
  144. extern IsOnScreen();
  145. extern IsBefore();
  146. extern IsAfter();
  147. extern struct LineItem *FindNextNonCont();
  148. extern struct LineItem *FindPrevNonCont();
  149.  
  150. /*console.c */
  151. extern HandleTAB();
  152. extern void CursorRight();
  153. extern void CursorLeft();
  154.  
  155. /*windows.c functions*/
  156. extern void OpenGraphics();
  157. extern void CloseGraphics();
  158. extern BOOL HandleInterlaced();
  159. extern void ModifyMenus();
  160. extern void InterpretPrefs();
  161. extern GetWBHeight();
  162. extern void GetLinerPrefs();
  163. extern PutPrefs();
  164. extern BOOL SwapScrnSize();
  165. extern struct MenuItem *GetFirstItemAddress();
  166. extern void SaveColors();
  167. extern void LoadColors();
  168. extern void ClearMenus();
  169. extern void SetRowsInScreen();
  170. extern void CopyPrefsToMenus();
  171. extern NewAll();
  172. extern HandleAbout();
  173. extern BOOL DoubleSpacing();
  174. extern BOOL HandleStartingLevel();
  175. extern void ChangeDisplay();
  176.  
  177. /*mouse.c functions*/
  178. extern void NormBlock();
  179. extern void MovedMouse();
  180. extern HandleButton();
  181. extern void HandleInvs();
  182. extern HandleBlockInvs();
  183. extern void RvsBlock();
  184. extern void EndBlockInvs();
  185. extern HandleLineInvs();
  186. extern MoveForward();
  187. extern void EndLineInvs();
  188. extern void NormText();
  189. extern HandleDelBlock();
  190. extern void FindStartEnd();
  191. extern void DelBlock();
  192. extern void FreeListMem();
  193. extern void DelTextBlock();
  194. extern CancelInvs();
  195. extern DelInvs();
  196. extern void TitleError();
  197. extern void TitleErrorCancel();
  198. extern void BackSearchRefresh();
  199. extern void RvsText();
  200. extern CancelLineInvs();
  201. extern void NormIt();
  202.  
  203. /*sure.c functions*/
  204. extern AreYouSure();
  205.  
  206. /*disk.c functions*/
  207. extern WriteItemList();
  208. extern ReadItemList();
  209. extern struct LineItem *BreakLineApart();
  210. extern void CreatePrefsIcon();
  211.  
  212. /*clip.c functions*/
  213. extern void SetupClipboard();
  214. extern void WriteInvsTextToClip();
  215. extern void WriteStringClip();
  216. extern ReadString();
  217. extern ReadClip();
  218. extern void AddBlock();
  219. extern void WriteClip();
  220. extern SnagBlock();
  221.  
  222. /*menu.c functions*/
  223. extern NewAll();
  224. extern void HandleNew();
  225. extern HandleOpen();
  226. extern void Save();
  227. extern void HandleSaveAs();
  228. extern HandlePrintDisk();
  229. extern HandlePrintPrinter();
  230. extern void HandleQuit();
  231. extern HandleCut();
  232. extern HandleCopy();
  233. extern void HandlePaste();
  234. extern HandleErase();
  235. extern void Refresh();
  236. extern void CheckModified();
  237. extern void MakeTextLine();
  238. extern void HandleIcons();
  239. extern void HandlePalette();
  240. extern void HandleReloadPrefs();
  241.  
  242. /*From PopColours.c*/
  243. extern void PopColours();
  244.  
  245. /*From Search.c*/
  246. extern struct LineItem *SearchText();
  247. extern DoSearch();
  248. extern void ModifyParams();
  249. extern void ReplaceAll();
  250. extern BYTE AskChange();
  251.  
  252. /*From ARexx.c*/
  253. extern void OpenARexx();
  254. extern void CloseARexx();
  255. extern void CheckRexxPort();
  256. extern void GetWord();
  257. extern void EngageMacro();
  258. extern void GetMacroInfo();
  259. extern void SplitFilename();
  260.